package co.edu.usbcali.dataaccess.dao;

import co.edu.usbcali.parcial3.Factura;

import java.math.BigDecimal;

import java.util.Date;
import java.util.List;
import java.util.Set;


/**
 * Interface for FacturaDAO.
 * @author Zathura Code Generator http://code.google.com/p/zathura
 *
 */
public interface IFacturaDAO {
    public void save(Factura instance);

    public void delete(Factura instance);

    public void update(Factura instance);

    public Factura findById(String id);

    public List<Factura> findByExample(Factura instance);

    public List<Factura> findByProperty(String propertyName, Object value);

    public List<Factura> findAll();

    public List<Factura> findByCriteria(String whereCondition);

    public List<Factura> findPageFactura(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults);

    public Long findTotalNumberFactura();

    public List<Factura> findByFactFechaEmision(Object factFechaEmision);

    public List<Factura> findByFactFechaLimite(Object factFechaLimite);

    public List<Factura> findByFactNumero(Object factNumero);

    public List<Factura> findByFactValor(Object factValor);
    
    public List<Factura> getFacturaPorPagar(String codigo);
}
